/**
 * JavaScript中所有变量都可以当做对象使用,除了null和undefined
 */
// console.log(false.toString());      //false  boolean类型可以直接调用toString()
// console.log([1,2,3].toString());    // '1,2,3' 数组类型可以直接调用
// function Foo() {}
// Foo.bar = 1;
// console.log(Foo.bar);
// 以上栗子都是证明"所有变量都可以当做变量使用"的这个观点
// 数字的字面值不能当做对象来使用
// 2.toString();      // 直接编译报错
// 为什么数字的字面值不能当做对象使用,因为JavaScript解析器的一个错误 试图将点操作符解析为浮点数字字面的一部分
/**
 * 对于数字的方法也可以将数字变成对象
 */
// 2..toString();
// 2 .toString();
// (2).toString();

/**
 * hasOwnProperty函数 ---> 判断一个对象是否包含自定义属性而不是原型链上的属性 
 * 我们需要使用继承自Object.property的hasOwnPeoperty
 * hasOwnProperty是JavaScript中唯一一个处理属性但是不查找原型链的函数
 */

// 修改Object.property
Object.property.bar = 1;
var foo = {goo: undefined};
console.log(foo.bar);

